2008/01/31

Recent entries from same category

  1. 書評「プログラミング言語大全」
  2. Google Developers Expert (Go) になりました。
  3. 1つの横着から隠しファイルが生まれた瞬間
  4. 書評:[試して理解]Linuxのしくみ
  5. GoCon に初参加してきた。

コードを晒け出して下さい。
プログラミングに自信があろうと、無かろうと。
貴方の書いたコードを見たいと思う人がいなかったとしても、晒け出して下さい。

私はオープンソースであることは、素晴らしい事だと信じています。たとえそれが、ちっぽけなサンプルプログラムであっても、人に見せる事で自分の書くコードに「見られる」という観点が入り込み、色んな見えかたが出来るようになります。さらに運が良ければ人からレビューしてもらえるんです。
私は、会社の部下、他社様の若手の方々によく「オープンソースコミュニティに参加しましょう。英語が分からなかったら日本のコミュニティでいいので入りましょう。」と言ってきました。これからも変わりません。
これは、単に「勉強しなさい」と言っている訳でなく、オープンソースコミュニティの特性がコーディング能力を養うには非常に効力があると信じているからです。
オープンソースコミュニティでは、修正ソースを送る際にはパッチ(patch)と呼ばれるソース差分を送る事になります。受け取った側は、そのパッチを一度適応してみて、間違いが無いかを確認します。そのコミュニティがMLを持っているならば、MLに参加している皆にそのソース差分が送付されます。
そして皆が自分の書いたコードに目を通すんです。

「恥しい...」そんな事を思ったのならば勿体ない話です。もちろん腐ったソースコードを人に見せるのはどうか、という議論もありますが、せっかく人に見てもらえるんだから見てもらわなくては損ですよ。

「自信がない...」そんなもの、みんなそうなんです。私だって自分の書いたコードに100点なんかあげられません。でも私は晒け出すんです。間違いを指摘してもらえるんなら、ありがたい話です。
自分で書いたプログラムの間違いを見つけるのは一苦労です。人に客観的に見てもらった方が間違いには気づきやすかったりします。そして人のソースも見ることで自分のソースコードの貧弱さに気づいたり、時には自信につながったりする物なんです。
#海外のコミュニティで自分が書いたソース差分が初めて取り込まれた...なんて事あればドキドキしますよ。


それはそうと、ここ最近「どう書く?org」というサイトを時間を見つけては覗いています。
ここでは、プログラミングに関する出題に対して、色々な言語の使い手が色んな手法で回答していきます。面白いのでfeedも登録しています。
電車で帰宅する際にも携帯から「へぇ...こんな書き方もあるんだ」と眺めてます。
一見コード書きに自信のある人達の集まりに見えますが、おそらく皆自分のコードに100点を付けて回答している訳ではないと思います。(HelloWorldは除きます)
「もしかしたら間違ってるかも」と思いながら回答している方も多いと思います。でも晒け出すんです。「俺こんなコード書けるんだぜ」なんて自慢大会じゃないんです。プログラミングを楽しんでいるんです。自分の書いたコードを見てもらい、たった一人でも「へぇ」と思ってくれる人が、もしかしたらいるんじゃないか?そんな気持ちだと思います。

コードを見せる人によっては、時には「そんな書き方、2億年前からあったよ。」とか「それ実行すると10秒後にはホームディレクトリが無くなってるよ」なんて手厳しいコメントを貰うかもしれません。でもそれって有り難い話。人に見せない限りそんなコメントは貰えません。


人に見せてなかったら、今頃貴方のハードディスクからホームディレクトリが無くなっていたかも知れませんよ...
Posted at by